<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
   
</head>
<body>
    <ul id="box">
        <li>itany01</li>
        <li>itany02</li>
        <li>itany03</li>
        <li>itany04</li>
        <li>itany05</li>
    </ul>
    <script>
        // call 在某个方法调用时候限定该方法中this的指向
        // 调用方法.call(调用者,参数)
         function show(){
            console.log(this);
         }
        //  show();
         var user={
             name:"tom"
         };
         show.call(user);//user对象调用show函数
         show.call([1,2,"a","b"]);//数组调用show函数

        //  call在指定this的指向的时候，如果传入的不是一个对象数据，call方法会将该数据转换为原始对象数据 
        // "aaa"基本数据类型==>引用数据类型 new String("aaa")
         show.call("aaa");
         show.call(1234);
         show.call(false);

         function show2(a,b){
            console.log(this);
            console.log(a);
            console.log(b);
         }
         show2.call(user,"嘿嘿","嘻嘻");//参数是以逗号隔开


         console.log(Array.prototype);
         var box=document.getElementById("box");//DOM对象
         var children=box.children;//获取ul中所有的li的集合
        Array.prototype.forEach.call(children,function(value,index){
            console.log(value);//对应的DOM对象
            console.log(index);//对应的索引值
        });
        

       
    </script>
</body>
</html>